$(document).on('ready', function(e)
{
  /*
   * Configuración de tinymce
   */
  tinyMCE.init({
    elements: 'bio, bio_en',
    language: 'es',
    mode: 'exact',
    plugins: 'pagebreak',
    theme: 'advanced',
    theme_advanced_buttons1: 'bold,italic,underline,|,fontsizeselect,|'
      + ',justifyleft,justifycenter,justifyright,justifyfull,|'
      + ',bullist,numlist,|,link,unlink',
    theme_advanced_buttons2: 'code,pagebreak',
    theme_advanced_buttons3: '',
    theme_advanced_toolbar_align: 'left',
    theme_advanced_toolbar_location: 'top'
  });

  /*
   * Al cambiar de categoria, cargar las sub categorias
   */
  $('#categoria_id').on('change', function(e)
  {
    var $SelCategoria    = $(this);
    var $SelSubCategoria = $('#sub_categoria_id');

    $.ajax('orquesta/actions.php?action=load_sub_categorias',{
      data: {'categoria_id': $(this).val()},
      dataType: 'json',
      type: 'post',
      beforeSend: function(jqXHR, Settings)
      {
        $SelCategoria.attr('disabled', 'disabled');
        $SelSubCategoria.attr('disabled', 'disabled').empty();
      },
      complete: function(jqXHR, status_text)
      {
        $SelCategoria.removeAttr('disabled');
        $SelSubCategoria.removeAttr('disabled');
      },
      error: function(jqXHR, status_text, error_thrown)
      {
        alert('Ocurrión un error al procesar la solicitud. ('
          + error_thrown + ')');
      },
      success: function(Response, status_text, jqXHR)
      {
        if(Response.error){
          alert(Response.message);
        } else {
          for( i in Response.sub_categorias){
            $SelSubCategoria.append(
              $('<option>').val(Response.sub_categorias[i].id)
                .text(Response.sub_categorias[i].nombre)
            );
          }
        }
      }
    });
  });

  /*
   * Seleccionar imagen
   */
  $('#image_file').on('change', function(e)
  {
    var $FrmImage = $('#frm_image');
    $('#iframe_upload').one('load', function(e)
    {
      $FrmImage.trigger('reset');
      if( this.contentWindow.UploadResult == undefined ){
        alert('Ocurrió un error al procesar la solicitud');
      } else {
        var UploadResult = this.contentWindow.UploadResult;
        if(UploadResult.error){
          alert(UploadResult.message);
        } else {
          $('#integrante_img').attr('src', IMG_PATH + INTEGRANTE_ID + '.jpg?v='
            + Math.random() )
        }
      }
      $(this).attr('src', 'about:blank');
    });
    $FrmImage.trigger('submit');
  });

  /*
   * Botón para guardar
   */
  $('#btn_save').on('click', function(e)
  {
    e.preventDefault();
    tinyMCE.editors['bio'].save();
    tinyMCE.editors['bio_en'].save();

    var $BtnSave = $('#btn_save');
    $.ajax('orquesta/actions.php?action=save',{
      data: $('#frm_integrante').serialize(),
      dataType: 'json',
      type: 'post',
      beforeSend: function(jqXHR, Settings)
      {
        $BtnSave.attr('disabled', 'disabled');
      },
      complete: function(jqXHR, status_text)
      {
        $BtnSave.removeAttr('disabled');
      },
      error: function(jqXHR, status_text, error_thrown)
      {
        alert('Ocurrión un error al procesar la solicitud. ('
          + error_thrown + ')');
      },
      success: function(Response, status_text, jqXHR)
      {
        alert(Response.message);
      }
    });
  });
});